-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server version of Hercules #10
base: master
Are you sure you want to change the base?
Conversation
split hercules into a server (C) and monitor (go) process
checked common section checked receiver section checked sender section
…pini/hercules-server into server
This reverts commit 5b50898.
For large files and with many lost packets, the number of ACK packets reuquired to convey all ACK ranges can grow too large, leading to the sender receiving more ACKs than it can process. Change ACK sending as follows: Acks are still sent at a regular interval, but only up to 5 packets at once. Acks sent in the next interval pick up where the previous one left off, so acks now "loop" over multiple intervals.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Marco for opening this PR!
I looked through the documentation (and only the documentation) and found a few typos.
Note that I commented on the Markdown files instead of the manual files as they were easier to read. So probably you will update the manual files and then just rebuild the Markdown files.
Hope this helps.
|
||
**DefaultNumPaths**=*int* | ||
|
||
> Specify how many SCION path to use for data transfers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
paths (plural)
> When setting this option, note that the file paths supplied by users will be | ||
> interpreted relative to this new directory. | ||
|
||
> Example: DropUser = "/mnt/data/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be ChrootDir = "/mnt/data/"
?
* For transfers to any other host in AS | ||
*18-a:b:c*: | ||
|
||
* A payload length of 1400 should be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1400B
to be consistent with previous payload length definition.
# DESCRIPTION | ||
|
||
**hercules-server** | ||
is the server component of the Hercules file transfer sytem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
system (typo)
# DESCRIPTION | ||
|
||
**hercules-monitor** | ||
is the monitor component of the Hercules file transfer sytem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
system (typo)
|
||
#### Termination | ||
- Using larger packets (jumbo frames) can also improve performance. Hercules supports jumbo frames up to a MTU of 9000 bytes. Note, however, that support for jumbo frames (via XDP multibuffer/fragments) requires at least kernel 6.6. On older versions the packet size is limited to 3000 bytes. | ||
Further, support for jumbo frames in combination with zero-copy mode is device-dependent. To use jumbo frames on such a device, disable zero-copy in Hercules' file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Hercules' config file" instead of "Hercules' file". Or what did you mean?
This changes Hercules from a 1 transfer at-a-time tool to a long-running server.